﻿using System;
using ICSharpCode.Decompiler.ILAst;
using Mono.Cecil;

namespace CSLua
{
	// Token: 0x02000011 RID: 17
	public abstract class MethodBodyPhase : BuildFilePhase
	{
		// Token: 0x06000087 RID: 135 RVA: 0x000048D2 File Offset: 0x00002AD2
		public MethodBodyPhase(BuildFilePhase ctx) : base(ctx)
		{
		}

		// Token: 0x17000014 RID: 20
		// (get) Token: 0x06000088 RID: 136
		public abstract MethodDefinition Method { get; }

		// Token: 0x06000089 RID: 137
		public abstract string getNamedLocalValue(ILExpression expression);

		// Token: 0x0600008A RID: 138
		public abstract int getExpressionStartLine(ILNode node);

		// Token: 0x0600008B RID: 139
		public abstract string getSrcFile();

		// Token: 0x0600008C RID: 140
		public abstract ILBlock getBlock();

		// Token: 0x0600008D RID: 141
		public abstract ILNode getParentNode(ILNode node);

		// Token: 0x0600008E RID: 142
		public abstract int getNamedLocalValueIndex(ILExpression expression);

		// Token: 0x0600008F RID: 143
		public abstract ExpressionBuilder CreateExpressionBuilder(ILExpression expression);
	}
}
